In recent years, manual operations of apparatuses within vehicles, as well as in other devices, are increasingly being replaced by motor-driven operations that utilize electric motors. Motor-driven operations provide many benefits, such as space-savings, ease of assembly, improved controllability and the like. The replacement of an automatic transmission range switching mechanism within a vehicle is an example of such a replacement from manual operation to motor-driven operation. Such a mechanism is equipped with an encoder that is synchronized with the motor and outputs a pulse signal at every given angle of rotation of the motor. In operation, during a range switching (i.e., when a gear shift position of the automatic transmission is changed), the motor is driven to a target rotation position corresponding to a target shift range based on a count value (hereinafter referred to as “an encoder count value”) of the pulse signal of the encoder and the automatic transmission is shifted to the target shift range.
For example, a patent document 1 (i.e., Japanese Patent Laid-Open No. 2004-56858 A) discloses a system having a controller with a nonvolatile memory that stores a target rotation position. After turning on or resetting the controller, the controller sets the target rotation position stored in the memory as a start-up target rotation position. As a result, even when the controller is reset due to, for example, a momentary voltage drop, signal noise or the like, the target rotation position does not change before and after the reset of the controller.
However, when a reset of the controller occurs during the switching operation of the shift range, an encoder count value, a reference position, or the like that is stored within RAM is also reset. As such, the encoder count value for rotating the motor is no longer stored when the controller is restarted. Therefore, although the target rotation position (e.g., the start-up target rotation position) is determined at the restart of the controller, the rotation position of the motor is unknown. Thus, it may be impossible to switch the shift range and to control the motor after the reset of the controller.